Methods and arrangements for tracking and locating laptops

ABSTRACT

An arrangement for employing a host of receivers that may already be present in a laptop, to enable the laptop to collect a significant amount of data about its location. Once the system then finds a readily available connection, it can then transmit information about its location as well as other information to help pinpoint the location of the laptop.

FIELD OF THE INVENTION

The present invention relates to methods and arrangements for trackingand locating portable computers such as laptops.

BACKGROUND OF THE INVENTION

The terms “laptop”, “laptop computer”, “notebook” and “notebookcomputer”, as broadly employed herein, should be understood to beinterchangeable with one another and to broadly relate to essentiallyany type of portable computer as commonly understood in connection withany or all of those four terms.

Laptops, owing to their portability, easily lend themselves to theft orunauthorized removal (e.g., from a workplace setting) if concertedmeasures are not otherwise taken to mitigate such a likelihood.

Conventional arrangements have been developed that permit a laptop totransmit certain information such at its IP (Internet Protocol) addressand its MAC (Media Access Control) address, after theft or removal, itis connected over a wireless or hard-wired Ethernet or Internet device.One such arrangement is the “COMPUTRACE” software manufactured byAbsolute Software of Vancouver, BC, Canada (http://www.computrace.com)Additional information about a transmitted IP address(es) at the time oftransmission may be obtained from the internet service provider (ISP) towhom the IP address is assigned or through various geolocation providerssuch as MaxMind LLC of Boston, Mass., United States(http://www.maxmind.com/app/ip-location). Obtaining the information froman ISP may invoke various privacy interests and require the assistanceof law enforcement or judicial intervention. Additional informationabout a transmitted IP address(es), however, normally does notnecessarily afford an accurate fix on the location of the laptop,meaning that recovery can be elusive or, at the very least, difficult.It will also be appreciated that accurately locating a laptop can be ofassistance in locating an individual who needs to be found or traced fora variety of reasons (e.g., in a weather-related emergency, inconnection with the elopement of a minor or abduction of an individual,etc.).

Accordingly, a need has been recognized in connection with providing amore accurate and reliable method of determining an initially unknownlocation of a laptop.

SUMMARY OF THE INVENTION

In accordance with at least one presently preferred embodiment of thepresent invention, there is broadly contemplated herein an arrangementfor employing a host of receivers that may already be present in alaptop, to enable the laptop to collect a significant amount of dataabout its location. Once the system then finds a readily availableconnection, it can then transmit information about its location as wellas other information to help pinpoint the location of the laptop.

In summary, one aspect of the invention provides a method comprising:providing a computer system; obtaining information relating to computersystem location; finding an open access point; and transmittinginformation regarding computer system location; the obtaining stepcomprising obtaining information relating to the open access point andto at least one other wireless transmitting device; and the transmittingstep comprising transmitting information relating to the open accesspoint and to at least one other wireless transmitting device.

Another aspect of the invention provides a system comprising: a CPU; asystem memory in communication with the CPU; a wireless module whichacts to: obtain information relating to an open access point and to atleast one other wireless transmitting device; finding an open accesspoint; and transmit information regarding system location viatransmitting information relating to the open access point and to atleast one other wireless transmitting device.

Furthermore, an additional aspect of the invention provides a programstorage device readable by machine, tangibly embodying a program ofinstructions executable by the machine to perform method stepscomprising: providing a computer system; obtaining information relatingto computer system location; finding an open access point; andtransmitting information regarding computer system location; theobtaining step comprising obtaining information relating to the openaccess point and to at least one other wireless transmitting device; andthe transmitting step comprising transmitting information relating tothe open access point and to at least one other wireless transmittingdevice.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram of a laptop computer system.

FIG. 2 schematically illustrates a process of locating a laptop.

DESCRIPTION OF THE PREFERRED EMBODIMENTS

For a better understanding of the present invention, together with otherand further features and advantages thereof, reference is made to thefollowing description, taken in conjunction with the accompanyingdrawings, and the scope of the invention will be pointed out in theappended claims.

It will be readily understood that the components of the presentinvention, as generally described and illustrated in the Figures herein,may be arranged and designed in a wide variety of differentconfigurations. Thus, the following more detailed description of theembodiments of the apparatus, system, and method of the presentinvention, as represented in FIGS. 1 through 2, is not intended to limitthe scope of the invention, as claimed, but is merely representative ofselected embodiments of the invention.

Functional units described in this specification may be labeled asmodules, in order to more particularly emphasize their implementationindependence. For example, a module may be implemented as a hardwarecircuit comprising custom VLSI circuits or gate arrays, off-the-shelfsemiconductors such as logic chips, transistors, or other discretecomponents. A module may also be implemented in programmable hardwaredevices such as field programmable gate arrays, programmable arraylogic, programmable logic devices or the like.

Modules may also be implemented in software for execution by varioustypes of processors. An identified module of executable code may, forinstance, comprise one or more physical or logical blocks of computerinstructions which may, for instance, be organized as an object,procedure, or function. Nevertheless, the executables of an identifiedmodule need not be physically located together, but may comprisedisparate instructions stored in different locations which, when joinedlogically together, comprise the module and achieve the stated purposefor the module.

Indeed, a module of executable code could be a single instruction, ormany instructions, and may even be distributed over several differentcode segments, among different programs, and across several memorydevices. Similarly, operational data may be identified and illustratedherein within modules, and may be embodied in any suitable form andorganized within any suitable type of data structure. The operationaldata may be collected as a single data set, or may be distributed overdifferent locations including over different storage devices, and mayexist, at least partially, merely as electronic signals on a system ornetwork.

Reference throughout this specification to “one embodiment” or “anembodiment” (or the like) means that a particular feature, structure, orcharacteristic described in connection with the embodiment is includedin at least one embodiment of the present invention. Thus, appearancesof the phrases “in one embodiment” or “in an embodiment” in variousplaces throughout this specification are not necessarily all referringto the same embodiment.

Furthermore, the described features, structures, or characteristics maybe combined in any suitable manner in one or more embodiments. In thefollowing description, numerous specific details are provided, such asexamples of programming, software modules, user selections, networktransactions, database queries, database structures, hardware modules,hardware circuits, hardware chips, etc., to provide a thoroughunderstanding of embodiments of the invention. One skilled in therelevant art will recognize, however, that the invention can bepracticed without one or more of the specific details, or with othermethods, components, materials, etc. In other instances, well-knownstructures, materials, or operations are not shown or described indetail to avoid obscuring aspects of the invention.

The illustrated embodiments of the invention will be best understood byreference to the drawings, wherein like parts are designated by likenumerals or other labels throughout. The following description isintended only by way of example, and simply illustrates certain selectedembodiments of devices, systems, and processes that are consistent withthe invention as claimed herein.

Referring now to FIG. 1, there is depicted a block diagram of anillustrative embodiment of a computer system 12. The illustrativeembodiment depicted in FIG. 1 may be a notebook computer system, such asone of the ThinkPad® series of personal computers sold by Lenovo (US)Inc. of Purchase, N.Y. or a workstation computer, such as theIntellistation®, which are sold by International Business Machines (IBM)Corporation of Armonk, N.Y.; however, as will become apparent from thefollowing description, the present invention is applicable toessentially any data processing system, but preferably a portablecomputer system for which there may be a need to pinpoint its location.

As shown in FIG. 1, computer system 12 includes at least one systemprocessor 42, which is coupled to a Read-Only Memory (ROM) 40 and asystem memory 46 by a processor bus 44. System processor 42, which maycomprise one of the line of processors produced by Intel Corporation, isa general-purpose processor that executes boot code 41 stored within ROM40 at power-on and thereafter processes data under the control ofoperating system and application software stored in system memory 46.System processor 42 is coupled via processor bus 44 and host bridge 48to Peripheral Component Interconnect (PCI) local bus 50.

PCI local bus 50 supports the attachment of a number of devices,including adapters and bridges. Among these devices is network adapter66, which interfaces computer system 12 to LAN 10, and graphics adapter68, which interfaces computer system 12 to display (or monitor) 69.Communication on PCI local bus 50 is governed by local PCI controller52, which is in turn coupled to non-volatile random access memory(NVRAM) 56 via memory bus 54. Local PCI controller 52 can be coupled toadditional buses and devices via a second host bridge 60.

Computer system 12 further includes Industry Standard Architecture (ISA)bus 62, which is coupled to PCI local bus 50 by ISA bridge 64. Coupledto ISA bus 62 is an input/output (I/O) controller 70, which controlscommunication between computer system 12 and attached peripheral devicessuch as a keyboard, mouse, and a disk drive. In addition, I/O controller70 supports external communication by computer system 12 via serial andparallel ports.

It should be further understood that while FIG. 1 conveys specifichardware components that can be employed in accordance with embodimentsof the present invention, the concepts discussed and contemplated hereinare of course applicable to a very wide variety of computer systems andconstituent conventional components.

In accordance with at least one presently preferred embodiment of thepresent invention, there is broadly contemplated herein an arrangementfor employing a host of receivers that may already be present in alaptop, to enable the laptop to collect a significant amount of dataabout its location. Once the system then finds a readily availableconnection, it can then transmit information about its location as wellas other information to help pinpoint the location of the laptop.

Accordingly, in accordance with a preferred environment in which theembodiments of the present invention may be employed, computer system 12is preferably a laptop or notebook computer system. As such, there willtypically be provided a quantity of n wireless receivers (e.g., 1, 2, 3. . . n ) as indicated at 72, in communication with I/O controller 70 inknown manner. These receivers may include, but are by no means limitedto, a 802.11 receiver, a WWAN (Wireless Wide Area Network) receiver, anFM receiver, and/or a “BLUETOOTH” receiver.

It is recognized, in accordance with at least one preferred embodimentof the present invention, that at any time a system 12 can obtain asignificant amount of data about its general location via conventionalarrangements (e.g., IP address, operating system, “COMPUTRACE”, etc.)together with and any or all of the receivers 72. Accordingly, when asystem 12 is removed to another location (e.g., is stolen or takenwithout authorization), it may preferably begin to collect informationabout its surroundings via conventional arrangements together with radiosignals, in a manner to be more fully appreciated herebelow. Thence, thesystem 12 may preferably find an available connection (preferably, anopen access point such as a WiFi “hotspot”) via which it may transmitinformation about its location. In that process, it may also preferablytransmit information about other wireless devices from which it hasreceived information, such as associated SSID's (Service SetIdentifiers) and MAC addresses of such devices, as well as the signalstrength of any such devices. This will help provide ample informationvia which the location of the system 12 can be pinpointed (e.g., via atriangulation of data on the wireless devices and the interrelationshipof such data).

FIG. 2 is a schematically illustrates a process 100 that may beundertaken in accordance with a preferred embodiment of the presentinvention in facilitating the locating of a laptop. Reference may alsocontinue to be made to FIG. 1 as needed.

First, the wireless receivers 72 (FIG. 1) will preferably scan for otherwireless transmitting devices in the vicinity (102). The number andtypes of wireless transmitting devices that can be scanned for are manyand can include, for example, other laptops, cell phones, and FM radiostations, among very many other devices. In the process, routinelyaccessible information about such transmitting devices will preferablybe obtained and stored as “snapshot” data (e.g., in system memory 46[FIG. 1]). Thus, with regard to such transmitting devices, informationsuch as MAC addresses, SSID's and, for FM radio stations, PTY/RDS(program type/radio data system) data will preferably be obtained. Alsopreferably obtained is a read on the signal strength of each wirelesstransmitting device for which data is being collected. Additional scansmay be made, in known manner, for WWAN cell phone tower ID's in thevicinity.

Next, out of all the wireless transmitting points ascertained in step102, at least one open access point is preferably located (104). Inknown manner, a connection is then preferably established with to one ormore access points so found (106).

In a subsequent step, this “live” connection is preferably exploited totransmit to a central collection point information on the one or moreaccess points being used (108). Further, other collected information(“snapshot” data) from step 102 regarding other local wirelesstransmitting devices (that do not necessarily correspond to availableopen access points) is also preferably transmitted to the centralcollection point (110). The central collection point can take any of awide variety of conceivable forms; the “COMPUTRACE” softwaremanufactured by Absolute Software of Vancouver, BC, Canada, affords sucha data collection capability.

It should be appreciated, then, that once data is collected at thecentral data collection point regarding not only (a) the open accesspoint via which information is being transmitted but also (b) otherwireless transmitting devices, a triangulated estimate of the locationof the laptop may be obtained. This of course, will be a much moreaccurate estimate than would have been possible if solely thelocation(s) of the one or more exploited open access points were known.Furthermore, it will be appreciated that the triangulation can begreatly aided with the signal strength information relating to eachwireless transmitting device.

In accordance with at least one embodiment of the present invention, theprocess 100 described hereinabove may be carried out in accordance withessentially any predetermined criteria. For instance, the laptop inquestion may be configured to always scan for transmitting devices (102)at predetermined intervals (e.g., every 15 minutes) regardless of theoperating context or the status of the system (e.g., stolen or removedwithout permission). On the other hand, process 100 could be triggeredby other factors such as a failure to enter a password associated withthe laptop or a lack of a positive match in routine facial recognitionas may be performed by a built-in camera.

Generally, it should be appreciated that, in accordance with at leastone presently preferred embodiment of the present invention, a “wirelessmodule” may comprise any or all of the wireless receivers 72 as shown inFIG. 1 along with any executable code which employs the receivers 72 forany of a variety of predetermined purposes. Accordingly, a wirelessmodule in accordance with at least one embodiment of the presentinvention may preferably act to: obtain information relating to an openaccess point and to at least one other wireless transmitting device;finding an open access point; and transmit information regarding systemlocation via transmitting information relating to the open access pointand to at least one other wireless transmitting device.

Further, it will be appreciated from the foregoing that a wirelessmodule may undertake any or all of the following specific acts: scan forwireless transmitting devices in a vicinity of a system location;ascertain, from scanned wireless transmitting devices, at least one openaccess point; establish a connection with at least one open accesspoint; obtain, with regard to an open access point and at least oneother wireless transmitting device, location information and signalstrength information; store in system memory information relating to theat least one other wireless transmitting device for subsequenttransmission; and obtain, from at least one wireless transmittingdevice, at least one item from the group consisting essentially of: aMAC address, a SSID, PTY/RDS data, and a WWAN cell phone tower ID.

If not otherwise stated herein, it is to be assumed that all patents,patent applications, patent publications and other publications(including web-based publications) mentioned and cited herein are herebyfully incorporated by reference herein as if set forth in their entiretyherein.

Although illustrative embodiments of the present invention have beendescribed herein with reference to the accompanying drawings, it is tobe understood that the invention is not limited to those preciseembodiments, and that various other changes and modifications may beaffected therein by one skilled in the art without departing from thescope or spirit of the invention.

What is claimed is:
 1. A method comprising: obtaining, when a mobiledevice is not connected to a communications network and responsive toreceiving an incorrect login attempt at the mobile device, data relatingto a location of the mobile device using a receiver that receives thedata from user devices in a vicinity of the mobile device, wherein themobile device obtains an identifier broadcast from each of the userdevices; storing the data including the broadcast identifiers of theuser devices within the mobile device; thereafter transmitting, afterestablishing a communications network connection, the data including thebroadcast identifiers of the user devices: and determining, based on thereceived broadcast identifiers, a location of the mobile device: whereinthe user devices comprise two or more fixed devices and mobile devicesand wherein the data comprises two or more of: an access point ID, acell phone tower ID, and signal strength information.
 2. The methodaccording to claim 1, comprising scanning for an open access point amongthe user devices in a vicinity of the mobile device; and wherein saidtransmitting further comprises transmitting information using the openaccess point used for the connection to the communications networkconnection.
 3. The method according to claim 2, wherein said obtainingcomprises employing an item selected from the group consisting of: a802.11 receiver, a WWAN (Wireless Wide Area Network) receiver, an FMreceiver, and a short range wireless communication receiver.
 4. Themethod according to claim 1, wherein said obtaining comprises obtaining,with regard to the user devices, location information and signalstrength information.
 5. The method according to claim 1, furthercomprising ascertaining a location based on information transmitted insaid transmitting.
 6. The method according to claim 1, wherein saidobtaining comprises obtaining a WWAN cell phone tower ID.
 7. A mobiledevice, comprising: a receiver; a CPU; a system memory in communicationwith said CPU that stores code executable by said CPU to: obtain, whenthe mobile device is not connected to a communications network andresponsive to receiving an incorrect login attempt at the mobile device,data relating to a location of the mobile device using the receiver thatreceives the data from user devices in a vicinity of the mobile device,wherein the mobile device obtains an identifier broadcast from each ofthe user devices; store the data including the broadcast identifiers ofthe user devices within the mobile device; thereafter transmit, afterestablishing a communications network connection, the data including thebroadcast identifiers of the user devices: and determine, based on thereceived broadcast identifiers, a location of the mobile device: whereinthe user devices comprise two or more fixed devices and mobile devicesand wherein the data comprises two or more of: an access point ID, acell phone tower ID, and signal strength information.
 8. The mobiledevice according to claim 7, wherein said plurality of receivers scanfor an open access point among the user devices in a vicinity of themobile device; and wherein said data further comprises informationtransmitted using the open access point used for the connection to thecommunications network connection.
 9. The mobile device according toclaim 8, wherein said plurality of receives includes a wireless moduleselected from the group consisting of: a 802.11 receiver, a WWAN(Wireless Wide Area Network) receiver, an FM receiver, and a short rangewireless communication receiver.
 10. The mobile device according toclaim 7, wherein said mobile device acts to obtain, with regard to theuser devices, location information and signal strength information. 11.The mobile device according to claim 7, wherein said mobile device actsto obtain a WWAN cell phone tower ID.
 12. The mobile device according toclaim 7, wherein said mobile device comprises a laptop computer system.13. Hardware readable by machine, embodying a program of instructionsexecutable by the machine, the instructions comprising: code thatobtains, when a mobile device is not connected to a communicationsnetwork and responsive to receiving an incorrect login attempt at themobile device, data relating to a location of the mobile device using areceiver that receives the data from user devices in a vicinity of themobile device, wherein the code obtains an identifier broadcast fromeach of the user devices; code that stores the data including thebroadcast identifiers of the user devices within the mobile device; codethat thereafter transmits, after establishing a communications networkconnection, the data including the broadcast identifiers of the userdevices; and code that determines, based on the received broadcastidentifiers, a location of the mobile device, wherein the user devicescomprise two or more fixed devices and mobile devices and wherein thedata comprises two or more of: an access point ID, a cell phone tower IDand signal strength information.
 14. The method according to claim 1,wherein the user devices transmit data using a different communicationprotocol.